<ol>
    <li>Client requests URI.  If Apache determines there's no existing file or folder to handle the request, the requests is passed off to index.php with the non-server portion of the URI passed in as a query string parameter named URI</li>
    <li>Index.php instantiates an instances of the ContentCourier application</li>    
    <li>The ContentCourier application instantiates a ContentLoader</li>
    <li>The ContentCourier application loads and parses the config file</li>
    <li>The ContentCourier application determines if the request is valid by looking up the URI in the config file</li>
    <li>The ContentCourier application determines which template should be used from the config file and then loads it</li>
    <li>The ContentCourier application instantiates a Section object for each section found in the config</li>    
    <li>For each section instantiated, configuration options are set based on the main site config</li>
    <li>Index.php calls the render method on the instantiated ContentCourier application</li>
    <li>The ContentCourier applications calls the render method on each configured section, and then replaces the appropriate template section with the returned content</li>
    <li>
        The render method on each section
        <ol>
            <li>Determines which URI to pass into the ContentLoader</li>
            <li>Calls the loadContent method on the contentloader, passing in the above URI</li>
            <li>Instantiates a Content Processor based on configuration, and applies the processor to the loaded content</li>
        </ol>
    </li>        
    <li>The template string, having had each of it's sections replaced, is echo'd out.</li>
    <li>Request complete</li>
</ol>